﻿<?php

/**
 * @author nguyendu
 * @copyright 2012
 */
interface IDatabase
{
    /**
     * Hàm khởi không tham sô tạo kết nối đến Mysql
     */
    public function connect();
    /**
     * Hàm lấy các cột của bảng trong bảng dữ liệu
     * @param $numfield(int)-số cột dữ liệu cần lấy tên
     * @param $resource(object)-đối tượng truy vấn
    */
    public function getField($numfield,$resource);
    /**
     * Hàm thực thi câu lệnh SQL
     * @param $query(string)- chuỗi truy vấn
     */
    public function executeQuery($query);
    /**
     * Hàm lấy số row được truy vấn
     */
    public function getNumRows();
    /**
     * Hàm bắt đầu một giao dịch
     */
    public function starTransaction();
    /**
     * Hàm thực thi quay lại điểm phục hồi trước khi thực thi câu lệnh insert,delete,update
     *
     */
    public function rollBackTransaction();
    /**
     * Hàm ghi nhận thành công của giao dịch
     */
    public function commitTransaction();
    /**
     * Hàm ngắt kết nối
     */
    public function closeConnection();
    /*
     * Hàm lấy ID của bảng khi thực hiện thành công câu lệnh Insert
    */
    public function getLastId();
    /**
     * Hàm trả về câu lệnh Insert
     * @param $tableName(string)- tên bảng cần insert
     * @param $paramInsert(array)-tên tham số và giá trị cần Insert
    */
    public function insertQuery($tableName,$paramInsert);
    /**
     *Hàm trả về câu lệnh select không có điều kiện where
     */
    public function selectQueryWithoutWhere($tableName,$rowStar,$rowEnd);
}
?>